/// 选择基础类
abstract class ChoiceBean {
  /// 是否选中
  bool _isChecked = false;

  ///获取id字段
  String getId();

  ///获取显示的名称字段
  String getShowName();

  ///设置是否已经选择
  setIsChecked(bool isChecked) => _isChecked = isChecked;

  /// 是否已经选择
  bool getIsChecked() => _isChecked;
}

class SimpleChoiceBean<T> extends ChoiceBean {
  SimpleChoiceBean(this.name, this.value);

  final String name;
  final T value;

  bool _checked = false;

  @override
  String toString() {
    return value.toString();
  }

  @override
  String getId() {
    return name;
  }

  @override
  bool getIsChecked() {
    return _checked;
  }

  @override
  String getShowName() {
    return name;
  }

  @override
  setIsChecked(bool isChecked) {
    _checked = isChecked;
  }
}
